namespace KinonekoSoftware.Foundation.Bus
{
    public delegate void MessageHandler<T>(T msg) where T : IMessage;
    
    public interface IMessageBus<T> where T : IMessage
    {
        void Interest<TMSG>(MessageHandler<T> handler) where TMSG : IMessage;
        void OnNext(T msg);
    }
}